﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ext.Net;
using Viewer.BusinessObject.BusinessEntities;

namespace Viewer.NhanSu.UserControl
{
    public partial class UCHopDongLaoDong : System.Web.UI.UserControl
    {
        NSHopDongLaoDong hopdong = new NSHopDongLaoDong();
        private List<NSHopDongLaoDong> lst;
        NSNhanVien nhanvien = new NSNhanVien();
        CommonCode common = new CommonCode();
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        private void ResetControl()
        {
            cbbHDLD.SelectedItem.Value = string.Empty;
            dtNgayHetHieuLuc.Text = DateTime.Today.ToString("dd/MM/yyyy");
            dtNgayHieuLuc.Text = DateTime.Today.ToString("dd/MM/yyyy");
            txtGhiChu.Text = string.Empty;
            UCQuyetDinh.ResetControl(common.HopDong);
        }
        [DirectMethod]
        public void ShowDialog_HDLD(string type, string hdId, string nhanvienID, string typeParent)
        {
            storeHDLD.DataSource = common.LoadDataCommonByCodeKey(common.LoaiHopDong);
            storeHDLD.DataBind();
            hdNhanVienId.Text = nhanvienID;
            hdHopDongId.Text = hdId;
            if (type.Equals("AddNew"))
            {
                wdHopDongLaoDong.Title = "Tạo mới hợp đồng lao động";
                ResetControl();
                btnSave.Hidden = false;
                hdType.Text = type;
                hdParentType.Text = typeParent;
            }
            else if (type.Equals("Edit"))
            {
                wdHopDongLaoDong.Title = "Sửa đổi hợp đồng lao động";
                hdType.Text = type;
                btnSave.Hidden = false;
                LoadDataHDLD(Convert.ToInt16(hdId));
            }
            else if (type.Equals("View"))
            {
                wdHopDongLaoDong.Title = "Xem chi tiết hợp đồng lao động";
                hdType.Text = type;
                btnSave.Hidden = true;
                LoadDataHDLD(Convert.ToInt16(hdId));
            }
            wdHopDongLaoDong.Show();

        }
        public void LoadDataHDLD(int hdId)
        {
            lst = (List<NSHopDongLaoDong>)Session["HDLD"];
            NSHopDongLaoDong item = lst.Where(a => a.HopDongLaoDongId.Equals(hdId)).SingleOrDefault();
            dtNgayHieuLuc.Text = item.NgayHieuLuc.ToString("dd/MM/yyyy");
            dtNgayHetHieuLuc.Text = item.NgayHetHieuLuc.HasValue ? item.NgayHetHieuLuc.Value.ToString("dd/MM/yyyy") : string.Empty;
            txtGhiChu.Text = item.GhiChu;
            cbbHDLD.SelectedItem.Value = item.MaHopDongLaoDongID.ToString();
            int qdID = item.QuyetDinhID.HasValue ? item.QuyetDinhID.Value : 0;
            hdQDID.Value = qdID.ToString();
            if (qdID > 0)
            {
                UCQuyetDinh.Command(common.CommandLoadByID, qdID);
            }
        }
        protected void btnSaveHDLD_CLick(object sender, DirectEventArgs e)
        {
            DateTime ngayHieuLuc = Convert.ToDateTime(dtNgayHieuLuc.Text);
            DateTime ngayHetHieuLuc = Convert.ToDateTime(dtNgayHetHieuLuc.Text);
            int maHDLD = !string.IsNullOrEmpty(cbbHDLD.SelectedItem.Value) ? Convert.ToInt16(cbbHDLD.SelectedItem.Value) : 0;
            int nhanVienId = !string.IsNullOrEmpty(hdNhanVienId.Text) ? Convert.ToInt16(hdNhanVienId.Text) : 0;
            if (hdType.Text.Equals("AddNew"))
            {
                //Trường hợp form parent là addnew
                //Tạo mới 1 quyết định
                int qdID = UCQuyetDinh.TaoMoiQuyetDinh();

                NSHopDongLaoDong item = hopdong.GetHDLD(nhanVienId, maHDLD, ngayHieuLuc, ngayHetHieuLuc, txtGhiChu.Text, cbbHDLD.SelectedItem.Text, qdID);
                ((UCNhanVien)this.Parent).GetHDLD(item);
            }
            else if (hdType.Text.Equals("Edit"))
            {
                int qdID=0;
                //Edit quyết định
                if (Convert.ToInt16(hdQDID.Value) > 0)
                {
                    UCQuyetDinh.Command(common.CommandSua, Convert.ToInt16(hdQDID.Value));
                }
                else
                {
                    //Nếu không có record nào thì sẽ tạo mới
                    qdID = UCQuyetDinh.TaoMoiQuyetDinh();
                }

                hopdong.EditHDLD(Convert.ToInt16(hdHopDongId.Text), maHDLD, ngayHieuLuc, ngayHetHieuLuc, txtGhiChu.Text, cbbHDLD.SelectedItem.Text, qdID);
                ((UCNhanVien)this.Parent).ReloadGrid("HDLD");
            }
            X.Mask.Hide();
            wdHopDongLaoDong.Hide();


        }
        [DirectMethod]
        public void CheckBienChe(string selectedValue)
        {
            if (selectedValue.Trim().Equals("1240"))
            {
                dtNgayHetHieuLuc.Disabled = true;
                dtNgayHetHieuLuc.Text = "";
            }
            else dtNgayHetHieuLuc.Disabled = false;
        }
    }
}